﻿using DocumentGeneratorPlugins;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SPDocumentor.SPModel.SPServiceApplications
{
    public class GeminiSA : ServiceApplication
    {
        public override string Description
        {
            get
            {
                return "Power View, fonctionnalité du complément de SQL Server 2012 Reporting Services pour Microsoft SharePoint Server 2010 Enterprise Edition, offre l'expérience d'une exploration de données, d'une visualisation et d'une présentation interactive.  Il permet la création intuitive de rapports ad-hoc pour les utilisateurs professionnels comme les analystes de données, les décideurs d'entreprise et les travailleurs de l'information. Ils peuvent facilement créer et interagir avec les vues de données des modèles de données basés sur des classeurs PowerPivot publiés dans une Galerie PowerPivot, ou des modèles tabulaires déployés sur des instances de SQL Server 2012 Analysis Services (SSAS). Power View est une application Silverlight basée sur un navigateur et lancée à partir de SharePoint Server 2010 qui permet aux utilisateurs de présenter et partager des éclairages au sein de leur organisation via des présentations interactives.";
            }
        }

        [LabelProperty(Label = "Allocation Timeout")]
        public int AllocationTimeout { get; set; }


        [LabelProperty(Label = "Allow CustomWindows Credential For DataRefresh")]
        public bool AllowCustomWindowsCredentialForDataRefresh { get; set; }


        [LabelProperty(Label = "Cache Cleaner Interval")]
        public int CacheCleanerInterval { get; set; }


        [LabelProperty(Label = "Check CachedDb Interval")]
        public int CheckCachedDbInterval { get; set; }


        [LabelProperty(Label = "Check Instance Map Interval")]
        public int CheckInstanceMapInterval { get; set; }



        [LabelProperty(Label = "Check Lastest Db Interval")]
        public int CheckLastestDbInterval { get; set; }



        [LabelProperty(Label = "Check Runing Db Interval")]
        public int CheckRuningDbInterval { get; set; }


        [LabelProperty(Label = "Cube FileName")]
        public string CubeFileName { get; set; }


        [LabelProperty(Label = "Dashboard Refresh Account")]
        public string DashboardRefreshAccount { get; set; }


        [LabelProperty(Label = "Data Refresh Max History")]
        public int DataRefreshMaxHistory { get; set; }



        [LabelProperty(Label = "Delay Refresh On No Server Avaible")]
        public int DelayRefreshOnNoServerAvaible { get; set; }


        [LabelProperty(Label = "Disable After Failures")]
        public int DisableAfterFailures { get; set; }


        [LabelProperty(Label = "Disable After Inactivity")]
        public int DisableAfterInactivity { get; set; }



        [LabelProperty(Label = "Health Calculation Interval")]
        public int HealthCalculationInterval { get; set; }


        [LabelProperty(Label = "LCID")]
        public uint Lcid { get; set; }



        [LabelProperty(Label = "Loads To Connections Ratio Hour Range")]
        public int LoadsToConnectionsRatioHourRange { get; set; }


        [LabelProperty(Label = "Loads To Connections Ratio Limit")]
        public int LoadsToConnectionsRatioLimit { get; set; }


        [LabelProperty(Label = "Load Timeout")]
        public int LoadTimeout { get; set; }


        [LabelProperty(Label = "Max Admin Connection Pool Size")]
        public int MaxAdminConnectionPoolSize { get; set; }


        [LabelProperty(Label = "Max User Connection Pool Size")]
        public int MaxUserConnectionPoolSize { get; set; }



        [LabelProperty(Label = "Number Of Parallel Refresh Jobs")]
        public int NumberOfParallelRefreshJobs { get; set; }


        [LabelProperty(Label = "Oldest Cached Db Limit")]
        public int OldestCachedDbLimit { get; set; }


        [LabelProperty(Label = "Oldest Running Db Limit")]
        public int OldestRunningDbLimit { get; set; }


        [LabelProperty(Label = "Reschedule Based On Today On No Available Servers")]
        public bool RescheduleBasedOnTodayOnNoAvailableServers { get; set; }


        [LabelProperty(Label = "Service App Folder Url")]
        public string ServiceAppFolderUrl { get; set; }


        [LabelProperty(Label = "Start Migrating Refresh Schedules")]
        public bool StartMigratingRefreshSchedules { get; set; }



        [LabelProperty(Label = "Unattended Account")]
        public string UnattendedAccount { get; set; }



        [LabelProperty(Label = "Usage And Health Retention Period")]
        public int UsageAndHealthRetentionPeriod { get; set; }


        [LabelProperty(Label = "Usage Expected Upper Limit")]
        public int UsageExpectedUpperLimit { get; set; }


        [LabelProperty(Label = "Usage Long Upper Limit")]
        public int UsageLongUpperLimit { get; set; }


        [LabelProperty(Label = "Usage Quick Upper Limit")]
        public int UsageQuickUpperLimit { get; set; }



        [LabelProperty(Label = "Usage Requests Time To Report")]
        public int UsageRequestsTimeToReport { get; set; }


        [LabelProperty(Label = "Usage Trivial Upper Limit")]
        public int UsageTrivialUpperLimit { get; set; }


        [LabelProperty(Label = "Usage Update Day Limit")]
        public int UsageUpdateDayLimit { get; set; }


        [LabelProperty(Label = "Usage Workbook Last Successful Update")]
        public DateTime UsageWorkbookLastSuccessfulUpdate { get; set; }


        [LabelProperty(Label = "Usage Workbook Last Update Attempt")]
        public DateTime UsageWorkbookLastUpdateAttempt { get; set; }


        [LabelProperty(Label = "Usage Workbook Last Update ErrorMessage")]
        public string UsageWorkbookLastUpdateErrorMessage { get; set; }


        [LabelProperty(Label = "DataBase")]
        public ServiceApplicationDB Database { get; set; }


        [LabelProperty(Label = "Connection String")]
        public string ConnectionString { get; set; }


        [LabelProperty(Label = "Connection Timeout")]
        public int ConnectionTimeout { get; set; }
    }
}
